From: Stefan Monnier Date: Mon, 23 May 2011 16:40:16 +0000 (-0300) Subject: * lisp/emacs-lisp/lisp.el (up-list): Fix forward movement. X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~324^2~3715 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=ee3f80cb964343de5c958f065788d5fa5507f553;p=emacs.git * lisp/emacs-lisp/lisp.el (up-list): Fix forward movement. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 571f275d0e5..0e69e5ac126 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2011-05-23 Stefan Monnier + + * emacs-lisp/lisp.el (up-list): Fix forward movement (bug#8708). + 2011-05-23 Ken Manheimer * allout.el (allout-inhibit-auto-fill-on-headline): Create new diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index ef0c49b8616..ece96fe2515 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -145,12 +145,12 @@ This command assumes point is not in a string or comment." (while (/= arg 0) (if (null forward-sexp-function) (goto-char (or (scan-lists (point) inc 1) (buffer-end arg))) - (condition-case err - (while (progn (setq pos (point)) - (forward-sexp inc) - (/= (point) pos))) - (scan-error (goto-char (nth 2 err)))) - (if (= (point) pos) + (condition-case err + (while (progn (setq pos (point)) + (forward-sexp inc) + (/= (point) pos))) + (scan-error (goto-char (nth (if (> arg 0) 3 2) err)))) + (if (= (point) pos) (signal 'scan-error (list "Unbalanced parentheses" (point) (point))))) (setq arg (- arg inc)))))